草庐IT

c++ - 多个 std::threads 和主程序执行的问题

全部标签

我可以覆盖用 C 编写的 Ruby 方法吗?

是否可以使用Ruby代码覆盖Ruby本身的一部分方法,例如rb_error_frozen,它们是用C语言编写的?背景:我想知道当卡住的对象被修改时,是否有可能让Ruby仅记录警告,而不引发异常。这样,我可以记录各种状态修改,而不是在第一次发生时停止。我主要考虑使用YARV执行此操作,但如果这样更容易,我可以使用其他实现。是的,这是一个whyday项目!不要在生产环境中尝试这个! 最佳答案 我只能代表MRI/YARV,但我会试一试。如果C函数已明确定义为Ruby对象上的方法,则只能在Ruby中覆盖源自C的函数。例如,Kernel#ex

ruby - 错误:执行 gem 时 ... (Zlib::GzipFile::Error) 不是 gzip 格式

我正在开发Senchatouch2应用程序。我一直在关注“StylingtheuserinterfaceofaSenchaTouchapplication”关于sechatouch应用程序主题的教程。它需要我安装Ruby、Compass和SASS。我使用ruby​​installer.org中的安装程序安装了Ruby。在执行以下命令时,我得到了确认正确安装的预期结果:C:\>ruby-vruby1.9.3p327(2012-11-10)[i386-mingw32]当前源是最新的:C:\>gemsources**CURRENTSOURCES**http://rubygems.org/接下

ruby-on-rails - jira-ruby gem 限制返回问题的数量?

我正在尝试使用名为jira-ruby的gem从JIRA获取问题.问题是,结果包含70个问题,但我只能看到前50个。直接使用JIRARESTAPI时,我可以将maxResults参数(在JQL之外)设置为更大的数字。但我在ruby中找不到这种可能性。是否有可能直接使用此ruby​​gem或任何其他同样简单的解决方案设置maxResults标志?代码如下:require'jira'classPagesController'xxx',:password=>'xxx',:site=>"https://xxx.atlassian.net",:context_path=>'',:auth_type

ruby - 部署到 heroku 的 Watir 应用程序

我正在尝试将应用程序部署到使用Watirwebdriver的Heroku。它在本地成功运行。根据这个问题的答案:CanyoudeployWatironHerokutogenerateHTMLSnapshots?Ifso,how?,你能行的。我按照这个答案https://stackoverflow.com/a/21267376/3192470中的步骤操作.我的app.rb看起来像这样:require"sinatra"require"rubygems"require"shotgun"require"rake"require"watir"get'/sending_out'dobrowser=

ruby - 在 heroku cedar 堆栈上部署 sinatra 应用程序(使用 config.ru)

我正在尝试重构我的sinatra代码以将我的主文件分成单独的文件,使用来自thisresponse的一些技巧,我在部署到heroku时遇到了麻烦。以前我没有config.ru文件,只是使用了我的Procfile,它是:web:bundleexecrubyweb.rb-p$PORT根据thisarticle.从重构开始,我现在将Procfile更改为web:bundleexecthin-Rconfig.rustart-p$PORT我的config.ru文件是root=::File.dirname(__FILE__)require::File.join(root,'web')runMyAp

Ruby rails - 如何找到多个选项?

我想根据多个参数查找记录。并且这些参数有多个选项。As"SELECTsomethingFROMmytableWHEREuser_name="xyz"andstatus=("Active"OR"Deleted")我如何将其转换为Rails语句?Person.find_by_user_name_and_status(user_name,status)#thisdoesn'ttaketheORoperator 最佳答案 我现在无法测试,但你试过了吗?Person.find_all_by_user_name_and_status(user_

ruby - 当应用程序关闭时,我要在 Sinatra 中的什么位置放置要执行的代码?

我正在为我的网络应用程序使用Sinatra。当我的应用程序关闭时,我有一些要执行的清理代码。Sinatra中是否有针对此的Hook,还是我必须使用单独的机制? 最佳答案 看Kernel#at_exit,如果您在主应用程序文件中的某处定义这样的block,我不明白为什么它不能在Sinatra应用程序中工作。更新:根据matt的评论,您必须在要求Sinatra之前定义您的at_exit处理程序。 关于ruby-当应用程序关闭时,我要在Sinatra中的什么位置放置要执行的代码?,我们在Sta

ruby - Rails before_action for ActionMailer 将使用邮件程序参数

假设我有一个发送不同电子邮件的邮件程序,但预计会使用相同的参数调用。我想为所有邮件操作处理这些参数。因此,调用一个before_action来读取发送到邮件程序方法的参数/mailers/my_mailer.rbclassMyMailer然后在我的Controller/服务中我在某处做MyMailer.actionx(*mailer_params).deliver_now如何访问before_actionblock中的same_param参数列表?编辑:我想重构/mailers/my_mailer.rbclassMyMailer还有这个重构/mailers/my_mailer.rbcl

ruby - 我怎样才能可靠地发现 Ruby 可执行文件的完整路径?

我想写一个脚本,打包成一个gem,它将修改它的参数,然后用修改后的参数exec一个新的ruby进程。换句话说,类似于修改其参数然后执行exec$SHELL$*的shell脚本。为此,我需要一种可靠的方法来发现正在执行当前脚本的ruby​​可执行文件的路径。我还需要获取传递给当前进程的完整参数——Ruby参数和脚本参数。 最佳答案 Rake源代码是这样的:RUBY=File.join(Config::CONFIG['bindir'],Config::CONFIG['ruby_install_name']).sub(/.*\s.*/m,

ruby-on-rails - 如何在 Ruby on Rails 中编写帮助程序来捕获 Haml block ?

我正在编写一个Rails辅助方法,它将包装器html添加到捕获的内容block并替换content_for方法,例如-content_for:headerdo//hamlcode..会变成-content:headerdo//hamlcode为了做到这一点,我使用了Haml和Rubyblock。这是它的样子defcontent(name,&block)content_fornamedocapture_hamldohaml_tag"div",{:id=>name.to_s}dohaml_tag"div",{:id=>"#{name.to_s}_group"}doblockendenden